package Dao;

import Model.StudentCourse;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;


public class NoPara extends BaseDao<StudentCourse> {
    StudentCourse studentCourse = new StudentCourse();
    /**
     * 添加课程到course表
     * @author 赵文赫
     * @param course 课程名
     *
     */
    public void addCourse(String course) {
        String sql = "ALTER TABLE student_course ADD "+course+" int ";
        alter(sql, studentCourse);
    }

    /**
     * 删除课程
     *
     * @param course 课程名
     * @author 赵文赫
     */

    public void deletcourse(String course) {
        String sql = "ALTER TABLE student_course DROP "+course;
        alter(sql, studentCourse);
    }

    /**
     * 更改课程名
     *
     * @param oldName 原先的课程名
     * @param newName 新课程名
     * @author 赵文赫
     */
    public void renameCourse(String oldName, String newName) {
        String sql = "ALTER TABLE student_course CHANGE "+oldName+" "+newName+" int";
        alter(sql, studentCourse);
    }

    /**
     * 显示所有学生成绩
     * @author 赵文赫
     * @return 返回一个ArrayListstudent 对象
     */
    public ArrayList<StudentCourse> selectAll() {
        String sql = "SELECT * FROM student_course ORDER BY totalPoint DESC";//？无实际用处，仅作占位符，并没有传值
        return select(sql,studentCourse);
    }

    /**
     * 重写方法因为没有传入参数，所以insert无实体
     * @param preparedStatement
     * @param Object
     * @author 赵文赫
     */
    @Override
    public void insert(PreparedStatement preparedStatement, StudentCourse Object) {

    }

    /**
     * 在这个类中只有  显示所有学生成绩 调用调用此方法
     * @param resultSet
     * @param count
     * @return
     * @author 赵文赫
     */
    @Override
    public StudentCourse setObjectByResultSet(ResultSet resultSet, int count) {

        StudentCourse studentCourse = new StudentCourse();
        try {
            studentCourse.setName(resultSet.getString(2));
            while(count>2)
            {
                studentCourse.setCourseList(resultSet.getInt(count));
                count--;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return studentCourse;
    }
}

